//
//  main.m
//  NSMutableString常用方法
//
//  Created by wenjim on 17/10/23.
//  Copyright © 2017年 WenJim. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
   
    NSMutableString * strM = [NSMutableString stringWithFormat:@"www.xiaoningle.com"];
    
    
    // 1.在字符串后面添加/image
    /*
    [strM appendString:@"/image"];
//    [strM appendFormat:@"/age is %i",10];
    NSLog(@"strM ＝ %@",strM);
    */
    
    // 2.删除字符串中的xiao
     /*
    // 技巧：在开发中，我们经常利用 rangeOfString 和 deleteCharactersInRange方法配合起来删除指定的字符串
    // 2.1 先查找xiao在字符串中的位置
    NSRange range = [strM rangeOfString:@"xiao"];
    // 2.2 删除xiao
    [strM deleteCharactersInRange:range];
    NSLog(@"strM = %@",strM);
    */
    
    // 3.在xiao前面插入love这个单词
    /*
     insertString:需要插入的字符串
     atIndex：从哪里开始插入
     */
    /*
    NSRange range = [strM rangeOfString:@"xiao"];
    [strM insertString:@"love" atIndex:range.location];
    NSLog(@"strM = %@",strM);
    */
    
    
    // 4.要求将字符串中的xiao替换为xiaoLove
//    NSString * newStr = [strM stringByReplacingOccurrencesOfString:@"xiao" withString:@"xiaoLove"];
//    NSLog(@"newStr = %@",newStr);
   
    /*
      OccurrencesOfString:需要替换的字符串
      withString：用什么替换的字符串
      options：替换时的搜索方法
      range: 搜索的范围
      返回值：代表替换了多少个字符串
     */
    // 注意：一般情况下，OC方法要求传入一个参数如果没有*,大部分都是枚举
    //      一般情况下，如果不想使用枚举的值，可以传入0，代表按照系统默认的方法处理
    NSUInteger count = [strM replaceOccurrencesOfString:@"xiao" withString:@"xiaoLove" options:0 range:NSMakeRange(0, strM.length)];
    NSLog(@"strM = %@",strM);
    NSLog(@"count = %lu",count);
    
    return 0;
}
